package com.vrv.app.cyberspace.modules.sys.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * <p>
 * </p>
 *
 * @author sm
 * @since 2017-12-21
 */
@TableName("RISK_FEEDBACK_TABLE")
public class RiskFeedbackTable extends Model<RiskFeedbackTable> implements Cloneable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.UUID)
    private String id;
    /**
     * 应对情况
     */
    private String response;
    /**
     * 排查单位数量
     */
    private Integer units;
    /**
     * 排查设备数量
     */
    private Integer devices;
    /**
     * 受影响单位数量
     */
    private Integer affectedUnits;
    /**
     * 感染病毒设备数量
     */
    private Integer infectedDevices;
    /**
     * 感染病毒关键信息设施数量
     */
    private Integer keyFacilityNumber;
    /**
     * 已清除病毒设备数据量
     */
    private Integer dumpDevices;
    /**
     * 已清除病毒关键设施
     */
    private Integer cleanKeyFacility;
    /**
     * 状态(0--待办；1--已办；2--办结)
     */
    private Integer status;
    /**
     * 关联信息Id
     */
    private Integer baseID;
    /**
     * 组织号
     */
    private String orgID;

    /**
     * 操作人ID
     */
    private String userID;
    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 操作时间
     */
    private Date updateTime;

    /**
     * 查看时间
     */
    private Date readTime;
    /**
     * 查看人ID
     */
    private String readUserID;

    /**
     * 下发ID集合
     */
    private String downsSet;

    /**
     * 处理意见
     */
    private String suggestion;

    /**
     * 应对要求
     */
    private String replyClaim;

    /**
     * 监测情况(安全厂商)
     */
    private String superviseCase;

    /**
     * 上传文件(安全厂商)
     */
    private String uploadFiles;

    /**
     * 1--确定;2--继续跟踪;3--终止反馈
     */
    private Integer exStatus;

    public String getDownsSet() {
        return downsSet;
    }

    public void setDownsSet(String downsSet) {
        this.downsSet = downsSet;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getResponse() {
        return response;
    }

    public void setResponse(String response) {
        this.response = response;
    }

    public Integer getUnits() {
        return units;
    }

    public void setUnits(Integer units) {
        this.units = units;
    }

    public Integer getDevices() {
        return devices;
    }

    public void setDevices(Integer devices) {
        this.devices = devices;
    }

    public Integer getAffectedUnits() {
        return affectedUnits;
    }

    public void setAffectedUnits(Integer affectedUnits) {
        this.affectedUnits = affectedUnits;
    }

    public Integer getInfectedDevices() {
        return infectedDevices;
    }

    public void setInfectedDevices(Integer infectedDevices) {
        this.infectedDevices = infectedDevices;
    }

    public Integer getKeyFacilityNumber() {
        return keyFacilityNumber;
    }

    public void setKeyFacilityNumber(Integer keyFacilityNumber) {
        this.keyFacilityNumber = keyFacilityNumber;
    }

    public Integer getDumpDevices() {
        return dumpDevices;
    }

    public void setDumpDevices(Integer dumpDevices) {
        this.dumpDevices = dumpDevices;
    }

    public Integer getCleanKeyFacility() {
        return cleanKeyFacility;
    }

    public void setCleanKeyFacility(Integer cleanKeyFacility) {
        this.cleanKeyFacility = cleanKeyFacility;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getBaseID() {
        return baseID;
    }

    public void setBaseID(Integer baseID) {
        this.baseID = baseID;
    }

    public String getOrgID() {
        return orgID;
    }

    public void setOrgID(String orgID) {
        this.orgID = orgID;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getReadTime() {
        return readTime;
    }

    public void setReadTime(Date readTime) {
        this.readTime = readTime;
    }

    public String getReadUserID() {
        return readUserID;
    }

    public void setReadUserID(String readUserID) {
        this.readUserID = readUserID;
    }

    public String getSuggestion() {
        return suggestion;
    }

    public void setSuggestion(String suggestion) {
        this.suggestion = suggestion;
    }

    public String getReplyClaim() {
        return replyClaim;
    }

    public void setReplyClaim(String replyClaim) {
        this.replyClaim = replyClaim;
    }

    public String getSuperviseCase() {
        return superviseCase;
    }

    public void setSuperviseCase(String superviseCase) {
        this.superviseCase = superviseCase;
    }

    public String getUploadFiles() {
        return uploadFiles;
    }

    public void setUploadFiles(String uploadFiles) {
        this.uploadFiles = uploadFiles;
    }

    public Integer getExStatus() {
        return exStatus;
    }

    public void setExStatus(Integer exStatus) {
        this.exStatus = exStatus;
    }

    @Override
    public String toString() {
        return "RiskFeedbackTable{" +
                ", id=" + id +
                ", response=" + response +
                ", units=" + units +
                ", devices=" + devices +
                ", affectedUnits=" + affectedUnits +
                ", infectedDevices=" + infectedDevices +
                ", keyFacilityNumber=" + keyFacilityNumber +
                ", dumpDevices=" + dumpDevices +
                ", cleanKeyFacility=" + cleanKeyFacility +
                ", status=" + status +
                ", baseID=" + baseID +
                ", orgID=" + orgID +
                ", createTime=" + createTime +
                "}";
    }

    @Override
    public RiskFeedbackTable clone() throws CloneNotSupportedException {
        return (RiskFeedbackTable) super.clone();
    }

    @TableField(exist = false)
    private RiskManageTable riskManageTable;

    @TableField(exist = false)
    private String orgName;

    @TableField(exist = false)
    private UserTable readUser;

    @TableField(exist = false)
    private UserTable handleUser;

    @TableField(exist = false)
    private int totalNum;
    @TableField(exist = false)
    private int feedbackNum;

    @TableField(exist = false)
    private String statusList;

    public String getStatusList() {
        return statusList;
    }

    public void setStatusList(String statusList) {
        this.statusList = statusList;
    }

    public RiskManageTable getRiskManageTable() {
        return riskManageTable;
    }

    public void setRiskManageTable(RiskManageTable riskManageTable) {
        this.riskManageTable = riskManageTable;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public UserTable getReadUser() {
        return readUser;
    }

    public void setReadUser(UserTable readUser) {
        this.readUser = readUser;
    }

    public UserTable getHandleUser() {
        return handleUser;
    }

    public void setHandleUser(UserTable handleUser) {
        this.handleUser = handleUser;
    }

    public int getTotalNum() {
        return totalNum;
    }

    public void setTotalNum(int totalNum) {
        this.totalNum = totalNum;
    }

    public int getFeedbackNum() {
        return feedbackNum;
    }

    public void setFeedbackNum(int feedbackNum) {
        this.feedbackNum = feedbackNum;
    }

    public int getNoFeedbackNum() {
        return totalNum - feedbackNum;
    }
}
